// import Vue from 'vue'
import axios from 'axios'


const config = {
  baseURL: 'https://api.apiopen.top',
  timeout: 1000,
}

let Network = axios.create(config);

// 添加请求拦截器
Network.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  config.headers['Accept-Language'] = '123'
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
Network.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  return response.data;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});

const request = {
  /**
   * @param {*} url 请求地址
   * @param {*} param 参数
   * @param {*} loading  是否显示加载中
   * @param {*} shake   是否启用防抖动 
   */
  get: function(url, param, loading = false, shake = false) {
    return new Promise((resolve, reject) => {
      Network({
        method: 'get',
        url: url,
        data: param
      }).then(res => {
        resolve(res);
      }).catch(err => {
        reject(err);
      })
    }) 
  }
}

export {Network, request}